#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
    int p1 = m - 1;
    int p2 = n - 1;
    int tmp = m + n - 1;
    while (p1 >= 0 && p2 >= 0)
    {
        if (nums1[p1] <= nums2[p2])
        {
            nums1[tmp] = nums2[p2];
            p2--;
            tmp--;
        }
        else
        {
            nums1[tmp] = nums1[p1];
            p1--;
            tmp--;
        }
    }
    if (p1 < 0)
    {
        while (p2 >= 0)
        {
            nums1[tmp] = nums2[p2];
            tmp--;
            p2--;
        }
    }
    else if (p2 < 0)
    {
        while (p1 >= 0)
        {
            nums1[tmp] = nums1[p1];
            tmp--;
            p1--;
        }
    }
}
int main()
{
    int nums1[6] = { 2,5,6, 0, 0, 0 };
    int m = 3;
    int nums2[3] = { 1, 2, 3};
    int n = 3;
    merge(nums1, 6, 3,nums2, 3,3);
	return 0;
}